import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
import cookies from 'js-cookie'
// 创建axios实例
const service = axios.create({
    baseURL: 'http://localhost',
    timeout: 15000// 请求超时时间
})
// http request 拦截器
service.interceptors.request.use(
    config => {
        // 先判断cookies的token是否有值
        if (cookies.get('token')) {
            //有值就放入到请求头中
            config.headers['token'] = cookies.get('token')
        }
        //返回用于后端进行用户认证及鉴权
        return config
    },
    err => {
        return Promise.reject(err)
    })
// http response 拦截器
service.interceptors.response.use(
    response => {
        //首先判断返回的状态码是否是鉴权结果
        if (response.data.code === 208) {
            //未登录，弹出登录全局事件
            loginEvent.$emit('loginDialogEvent')
            return
        } else {
            if (response.data.code !== 200) {
                Message({
                    message: response.data.message,
                    type: 'error',
                    duration: 5 * 1000
                })
                return Promise.reject(response.data)
            } else {
                return response.data
            }
        }
    },
    error => {
        return Promise.reject(error.response)
    })
export default service